﻿using Abp.Application.Services.Dto;
using Nest;
using System;
using System.Collections.Generic;
using System.Text;

namespace AbpBuild.WenShu.Dto
{
    [ElasticsearchType(RelationName = "cprecord", IdProperty = "Id")]
    public class RecordInputDTO : EntityDto<string>
    {
        public RecordInputDTO(string id)
        {
            this.Id = id;
            companys = new List<companyJM>();
        }

        /// <summary>
        /// 年
        /// </summary>
        [Keyword]
        public string year { get; set; }
        /// <summary>
        /// 年月
        /// </summary>
        [Keyword]
        public string yearmoth { get; set; }
        /// <summary>
        /// 公司简介（包含行业信息）
        /// </summary>
        [Nested]
        public List<companyJM> companys { get; set; }  //
        /// <summary>
        /// 审理期限  2/天
        /// </summary>
        public double judgeSpride { get; set; } //

        /// <summary>
        /// 审判结果: 终结本次执行程序  其他  财产 终结执行  执行完毕  驳回申请  纳入失信被执行人名单  中止执行  撤回申请  撤销申请  指定/提级执行  追加/变更执行人  移送管辖  解除财产执行  责令履行  维持原判  全部/部分支持  撤回起诉  全部驳回  
        /// </summary>
        [Keyword]
        public List<string> judgeResults { get; set; } //

        //    律师胜诉率


        /// <summary>
        /// 最大涉案金额
        /// </summary>
        public double crimeMoney { get; set; } = 0; //
        /// <summary>
        /// 最大标的金额
        /// </summary>
        public double projectMoney { get; set; } = 0; //

        /// <summary>
        /// 名称
        /// </summary>
        [Text(Analyzer = "ik_max_word")]
        public string name { get; set; } //
        /// <summary>
        /// 案号
        /// </summary>
        [Keyword]
        public string docCode { get; set; }  //
        /// <summary>
        /// 相关案号
        /// </summary>
        [Keyword]
        public List<string> docCodeOthers { get; set; }//
        /// <summary>
        /// 相关案号 str
        /// </summary>
        [Text(Analyzer = "ik_max_word")]
        public string docCodeOthersstr { get; set; }//
        /// <summary>
        /// 当事人
        /// </summary>
        [Keyword]
        public List<string> peoples { get; set; }//
        /// <summary>
        /// 标签
        /// </summary>
        [Keyword]
        public List<string> keywords { get; set; }//
        /// <summary>
        /// 案由
        /// </summary>
        [Keyword]
        public List<string> caseReason { get; set; }//
        /// <summary>
        /// 相关法律
        /// </summary>
        [Nested]
        public List<relaLaw> lawLists { get; set; }//
        /// <summary>
        /// 原告
        /// </summary>
        [Nested]
        public List<guanxiren> yuangao { get; set; }//
        /// <summary>
        /// 原告律师
        /// </summary>
        [Nested]
        public List<lvmanage> yuangaoLv { get; set; }//
        /// <summary>
        /// 被告
        /// </summary>
        [Nested]
        public List<guanxiren> beigao { get; set; }//
        /// <summary>
        /// 被告律师
        /// </summary>
        [Nested]
        public List<lvmanage> beigaoLv { get; set; }//
        /// <summary>
        /// lv
        /// </summary>
        [Nested]
        public List<lvmanage> lvs { get; set; }//
        /// <summary>
        /// 前审相关人
        /// </summary>
        [Nested]
        public List<guanxiren> di3ren { get; set; }//
        /// <summary>
        /// 前审相关人律师
        /// </summary>
        [Nested]
        public List<lvmanage> di3renLv { get; set; }//
        /// <summary>
        /// 类型          s8 : "民事案件"
        /// </summary>
        [Keyword]
        public string judgeType { get; set; }  //
        /// <summary>
        /// 审判流程     s9 : "民事一审"
        /// </summary>
        [Keyword]
        public List<string> judgeProcess { get; set; }  //

        /// <summary>
        /// 审判时间
        /// </summary>
        public DateTime? judgeDate { get; set; }   //

        /// <summary>
        /// 发布时间
        /// </summary>
        public DateTime? postDate { get; set; }   //

        /// <summary>
        /// 民事判决书
        /// </summary>
        [Keyword]
        public string docType { get; set; }  //


        /// <summary>
        /// 右下角  审判长，审判员，审判日期等
        /// </summary>
        [Text(Index = false)]
        public List<string> judgedatestr { get; set; } //
        /// <summary>
        /// 证据
        /// </summary>
        [Keyword]
        public List<string> proofs { get; set; }  //
        /// <summary>
        /// 案件特征
        /// </summary>
        [Keyword]
        public List<string> features { get; set; }  //
        /// <summary>
        /// 争议焦点
        /// </summary>
        [Keyword]
        public List<string> focuss { get; set; }  //
        /// <summary>
        /// 判多久刑期(月)
        /// </summary>
        public List<int> prisonterm { get; set; }  //
        /// <summary>
        /// 主刑法：有期徒刑   ，拘役，无期徒刑，  管制，死刑
        /// </summary>
        [Keyword]
        public List<string> mainCriminal { get; set; }  //主刑法：有期徒刑   ，拘役，无期徒刑，  管制，死刑
        /// <summary>
        /// 附加刑： 罚金  剥夺政治权利  没收财产  驱逐出境
        /// </summary>
        [Keyword]
        public List<string> fuCriminal { get; set; }  //
        /// <summary>
        /// 执行变更： 减刑    假释
        /// </summary>
        [Keyword]
        public List<string> changeCriminal { get; set; }  //
        /// <summary>
        /// 免予刑事处罚
        /// </summary>
        [Keyword]
        public List<string> noxingCriminal { get; set; }  //
        /// <summary>
        /// 罚金
        /// </summary>
        public List<double> forfeit { get; set; }  //

        /// <summary>
        /// 判决刑法
        /// </summary>
        [Keyword]
        public List<string> criminalLaw { get; set; }  //
        /// <summary>
        /// 量刑情节
        /// </summary>
        [Keyword]
        public List<string> statusCriminal { get; set; }  //
        /// <summary>
        /// 不利因素
        /// </summary>
        [Keyword]
        public List<string> disadvantage { get; set; }  //
        /// <summary>
        /// 吉林省延吉市人民法院
        /// </summary>
        [Text(Analyzer = "ik_max_word")]
        public string courtFullName { get; set; }  // 

        /// <summary>
        /// 高级，中级，基层
        /// </summary>
        [Keyword]
        public string courtLevel { get; set; }  // 

        [Keyword]
        public string courtFullNameAgg { get; set; }  // 
        /// <summary>
        /// 吉林省
        /// </summary>
        [Keyword]
        public string region { get; set; }  // 
       




        [Text(Index = false)]
        public List<string> allstr { get; set; } //相关人str
        [Text(Index = false)]
        public List<string> allstrother { get; set; } //相关人str  剩余漏的
        [Text(Analyzer = "ik_max_word")]
        public string peoplestr { get; set; } //相关人str allstr + allstrother
        [Text(Index = false)]
        public List<string> gongshujiguanSay { get; set; } //公诉机关称
        [Text(Index = false)]
        public List<string> judgeStatus { get; set; }  //审理经过
        [Text(Index = false)]
        public List<string> yuangaoSay { get; set; }  //原告诉称
        [Text(Index = false)]
        public List<string> beigaoSay { get; set; }  //被告辩称
        [Text(Index = false)]
        public List<string> otherSay { get; set; }  //前审述称
        [Text(Index = false)]
        public List<string> beforeJudge { get; set; }  //前审经过
        [Text(Index = false)]
        public List<string> nowJudge { get; set; }  //本院审理
        [Text(Index = false)]
        public List<string> courtClaim { get; set; }  //本院认为
        [Text(Index = false)]
        public List<string> judgeResult { get; set; }  //审判结果
        [Text(Index = false)]
        public List<string> orignJudgestr { get; set; } //原判主文
        [Text(Analyzer = "ik_max_word")]
        public string contentstr { get; set; } //相关人 gongshujiguanSay + judgeStatus.....+ orignJudgestr



        [Keyword]
        public List<string> judgeZ { get; set; }  //审判长
        [Keyword]
        public List<string> judges { get; set; }  //审判员
        [Text(Index = false)]
        public List<string> jurors { get; set; }  //陪审员
        [Text(Index = false)]
        public List<string> writers { get; set; }  //书记员
























        [Text(Analyzer = "ik_max_word")]
        public List<string> otherList1 { get; set; } //保留数组1
        [Text(Analyzer = "ik_max_word")]
        public List<string> otherList2 { get; set; } //保留数组2
        [Text(Analyzer = "ik_max_word")]
        public List<string> otherList3 { get; set; } //保留数组3
        [Keyword]
        public List<string> otherList4 { get; set; } //保留数组1
        [Keyword]
        public List<string> otherList5 { get; set; } //保留数组2
        [Keyword]
        public List<string> otherList6 { get; set; } //保留数组3
        [Text(Analyzer = "ik_max_word")]
        public string otherstr1 { get; set; } //保留字段1
        [Text(Analyzer = "ik_max_word")]
        public string otherstr2 { get; set; } //保留字段2
        [Text(Analyzer = "ik_max_word")]
        public string otherstr3 { get; set; } //保留字段3
        [Keyword]
        public string otherstr4 { get; set; } //保留字段4
        [Keyword]
        public string otherstr5 { get; set; } //保留字段5
        [Keyword]
        public string otherstr6 { get; set; } //保留字段6















    }
}
